home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / prog_c / cuj0696.zip / DWYER.ZIP / GAP.TST / TSTPROBS.C < prev   
C/C++ Source or Header  |  1996-03-05  |  2KB  |  72 lines

  1. /* ============ */
  2. /* tstprobs.c    */
  3. /* ============ */
  4. /* ==================================================================== */
  5. /*            Main Progrram to Test CalcGapProbs            */
  6. /* ==================================================================== */
  7. #include <math.h>
  8. #include <defcodes.h>
  9. #include <miscdefs.h>
  10. #include <gapdefs.h>
  11. #include <mconf.h>
  12. #include <stdio.h>
  13.  
  14. #define    MAX_GAPS    100
  15. void
  16. main()
  17. {
  18.     AbortGracefully();            /* Make ^C Reasonable */
  19.  
  20.     while (main)
  21.     {
  22.     int    k, NumLens;
  23.     double    HiLimit, LoLimit, GapProbs[MAX_GAPS], TotlProb;
  24.  
  25.     for (;;)
  26.     {
  27.         GetInt("Enter Number of Gap Lengths at Issue [>= 2, <= 100]: ",
  28.         &NumLens);
  29.         if (NumLens >= 2 && NumLens <= 100)
  30.         {
  31.         break;
  32.         }
  33.         fprintf(stderr, "Incorrect Entry\n");
  34.     }
  35.  
  36.     for (;;)
  37.     {
  38.         GetDbl("Enter Lower Limit of Gap at Issue [>=0,<1]: ",
  39.         &LoLimit);
  40.         if (LoLimit >= 0 && LoLimit < 1)
  41.         {
  42.         break;
  43.         }
  44.         fprintf(stderr, "Incorrect Entry\n");
  45.     }
  46.  
  47.     for (;;)
  48.     {
  49.         char    Prompt[64];
  50.         sprintf(Prompt, "Enter Upper Limit of Gap at Issue "
  51.                 "[> %g,<=1]: ", LoLimit);
  52.  
  53.         GetDbl(Prompt, &HiLimit);
  54.  
  55.         if (HiLimit > LoLimit && HiLimit <= 1)
  56.         {
  57.         break;
  58.         }
  59.         fprintf(stderr, "Incorrect Entry\n");
  60.     }
  61.     CalcGapProbs(NumLens, LoLimit, HiLimit, GapProbs);
  62.  
  63.     TotlProb = 0;
  64.     for (k = 0; k < NumLens; ++k)
  65.     {
  66.         TotlProb += GapProbs[k];
  67.         fprintf(stderr, "GapProb[%3d] = %.12e\n", k, GapProbs[k]);
  68.     }
  69.     fprintf(stderr, "Total Prob   = %.12e\n\n", TotlProb);
  70.     }
  71. }
  72.